/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.speedprevweb.bean;

import br.com.speedprevweb.dao.UsuarioDao;
import br.com.speedprevweb.dao.impl.UsuarioDaoImpl;
import br.com.speedprevweb.model.Usuario;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;

@Named(value = "loginBean")
@SessionScoped
public class LoginBean implements Serializable {
  
  private Usuario usuario;

  public Usuario getUsuario() {
    if (usuario == null)
      usuario = new Usuario();
    return usuario;
  }

  public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
  }

  public LoginBean() {
  }
  
  public String login() {
    RequestContext context = RequestContext.getCurrentInstance();
    FacesMessage msg = null;
    boolean loggedIn = true;

    UsuarioDao usuarioDao = new UsuarioDaoImpl();
    usuario = usuarioDao.login(usuario);
    if (usuario != null) {
      msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Bem vindo",
	  usuario.getNmUsuario());
      return "/forms/template";
    } else {
      loggedIn = false;
      msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Erro de autenticação!!!", "Usuario e senha incorretos!!!");
    }
    FacesContext.getCurrentInstance().addMessage(null, msg);
    context.addCallbackParam("loggedIn", loggedIn);
    return (null);
  }
}
